function GSSplash () {
	var SPLASH_SHOWING_DURATION = 1000;  // How long will the splash being shown? Milisec.

	var showSplashTimeCount = 0;
	var splashImageHandle;
	var finishLoadingSplashImage = false;
	
	
		
	this.Init = function () {
		splashImageHandle = g_graphicEngine.LoadImage("Data/Splash.jpg");
	}
	
	this.Update = function () {
		// If finish loading the splash screen, continue to load the loading screen
		if (finishLoadingSplashImage == false) {
			if (g_graphicEngine.GetLoadingProgress() == 1) {
				finishLoadingSplashImage = true;
				g_gsLoading.Init();
			}
		}
		
		// Switch to Loading screen if all of these condition:
		// + SPLASH_SHOWING_DURATION have passed
		// + The splash screen is loaded
		// + The loading screen is fully loaded
		showSplashTimeCount += g_deltaTime;
		if (showSplashTimeCount >= SPLASH_SHOWING_DURATION) {
			if (finishLoadingSplashImage == true && g_graphicEngine.GetLoadingProgress() == 1) {
				SwitchState (g_gsLoading, true);
			}
		}
	}
	
	this.Draw = function () {
		g_graphicEngine.DrawFast (g_context, splashImageHandle, 0, 0);
	}
	
	this.OnSwitch = function () {
	
	}
	
	this.OnMouseMove = function (x, y) {
	
	}
	
	this.OnMouseDown = function (x, y) {
	
	}
	
	this.OnMouseUp = function (x, y) {
	
	}
	
	this.OnMouseWheel = function (delta) {
	
	}
	
	this.OnKeyDown = function (keycode) {
	
	}
	
	this.OnKeyUp = function (keycode) {
	
	}
}